Если еще немного покопатса на сайте в разделе декораций - можно нагрести кучу добра!
И вобще мой вам совет - научитесь минимальному моделингу: сможете клепать такие вещи за 3 минуты на коленке с необходимым вам видом, формой и текстурой.
Тут восстанавливать нечего, вся карта состоит из нулей, т.е её стер редактор на диске собрался из оперативки записать заного да неуспел, гг. Ищи в папке с JNGP бекапы, он автоматом сохраняет бекап после каждого сохранения карты в редакторе.
Adantarn, запускай редактор в совместимости с Windows 7. Ещё перезагрузи компьютер (именно перезагрузи, а не выключи и включи).
Также дело может быть в настройках графики. Выкрути их в игре на максимум или в редакторе, убрал галку "Использовать настройки игры" и поставив свою конфигурацию.
Если всё это не поможет, то удаляй всех юнитов и расставляй их уже на новом компьютере.
JNGP вроде по умолчанию делает бекапы... Если они еще не затерлись - доставайте последний рабочий бекап и продолжайте делать что делали. Желательно делая ручные бекапы на ключевых этапах разработки потому как автоматические не всегда спасают.
Решено. Удивительно, но карта открывается в новой версии редактора на патче 1.31. Сохранил в новом патче, воспользовался конвертером и все работает... Странно. Могу ли я что-то сломать таким способом?
Проблема и правда была в каменных подьемах, которые я пытался заменить. После их удаления на новом патче и конвертирование в 1.26 - все работает. Можно ли как-то удалять декорацию не открывая карту.
Проблема была в том, что каменному подъему был задан нестандартный цвет на миникарте.
сделайте триггерно, когда срабатывает шанс, вы можете триггерно запустить звук, исходя из сработки, и не нужно тогда события. такого событие нету
кратко
обычно триггерная пассика это пустышка с иконкой и описанием. Часто делают из таких пустышек - шанс нанести доп урон, крит, стан и другие атакующие или усиливающие героя эффекты, или, наоборот, защищающие, отражающие, отклоняющие.
EviLInside, ну я бы вообще мог сделать отдельный счёт периодичности для каждого юнита, и выдавать дополнительное ХП в зависимости от того, когда это необходимо.
При каждом срабатывании таймера проверить что время периодика меньше такта таймера.
И увеличивать периодик на значение из расчётов, т.е. от 0.5 до 5.0 в зависимости от % ХП.
И каждый раз при этом хилить на 50% от Силы. Вот и всё.
Т.е. тут глобальная группа заменится на массив из связки юнит/время.
Наверное, тупо опять считывание силы атаки чудило: у доспеха ее не было, он фаталил при приближении к нему героя с аурой "жечь врагов в % от своей атаки + % от их атаки". Ща снова из-за этого апдейт перепиливаю.
Правда, не помню, был ли в той игре, кроме Матери-Земли, и этот вот другой герой... но пока остановимся на том, что у доспеха причина фатала была одна, если будет снова фаталить именно с доспехом - вернёмся к теме.
Оборачиваем все RemoveUnit в дебаги или на хук vJass. Убираем использование всех BJ функций, заменяем либо на нативки, либо на свои.
Баг может быть в абсолютно рандомном месте, скидывание куска кода может не всегда помочь.
создаем пустушку на основе канала или чего бесполезного другого
ставим пустышке нужные цели (например войска ирока, здания, дистанция применения)
делаем триггер но гуи:
событие: боевая единица приводит способность в действие
условие: способность которую применили = пустышка взрывалка
действие1: убить кастера
действие2. убить здание
Поставь ратуше классификацию Древо или Самоубийца (в зависимости о чём мапа), и всем войскам на карте добавь в цели атаки Не древа/Не самоубийцы, чтобы они не авто-атаковали её и поставь ей лям ХП
Если при поиске ресурсов к адресной строке добавить ?sortfield=datelineasc
то порядок показа по дате будет "от старых к новым"
остальные фильтры пока недоступны
Пример: xgm.guru/p/wc3/resources?sortfield=datelineasc
С описанием уже есть тут xgm.guru/p/117/268983
С тегами заморачиваться не будем и нет, руки не дойдут. Не надо плодить лишние теги.
Надо очень хорошо продумать структуру категорий, а не просто создавать целое полотно. Зачем нужен выпадающий список, в каком редакторе сделано? Зачем тем более нужны теги для этого? Остановитесь... Для многих вещей хватит текстовых полей.
Лучшее - враг хорошего. В wc3 проекте достаточно полей даже с оверхедом.
Независимо от того SaveReal там или SaveUnitHandle, ты записываешь значения в одну и ту же таблицу.
Ты просто SaveReal(h, id, 0, x_c) перезаписываешь этим - SaveUnitHandle(h, id, 0, u_c) и этим - SaveEffectHandle(h, id, 0, e)
на сколько я понял твой триггер срабатывает при получении урона определённым юнитом
и ты вызываешь в нём этот триггер
который наносит урон этому самому юниту
в результате опять срабатывает отлов урона
и опять наносится урон
и опять ...
в общем получается рекурсия и вар выкидывает из за переполнения стека
кстати почему бы не сделать отлов урона в 1 триггере?
Здесь всё не так.
Множество ошибок, нераскрытые BJ и прочее.
Если у тебя JNGP, то при компилляции он должен выдавать много ошибок, по ним можно легко всё исправить (достаточно поверхностного знания английского языка)
тебе проще будет заказать такой спелл в барахолке и уже потом изучать то что тебе сделают.
ну так на основную цель этот урон не распределяется. Распределение урона в % идет от атаки героя основной цели. Распределительный урон наносится окружающим вражеским юнитам.
вот атака 140, а остальным врагам (35% от атаки - это 140*0.35=49 урона)
тут распределение идет от величины атаки, а не от урона (не путать) вот вот
Но как делать на MUI из специфических событий я понятие не имею.
Через GUI никак. Возможность проверить тип урона завезли, а плашку в GUI редактор нет. Только кодом.
Либо кодер напишет на заказ систему для использования в GUI.
Есть еще довольно популярный DamageEngine, но никогда не пользовался.
Всё просто создаём бафф на основе торнадо, который будет идентификатором что есть наш бафф отключения пасивок, допустим бафф будет B000
Далее создам полностью триггерные аналоги критов, баша, уворота, сплеша. И в условиях их работы ставим GetUnitAbilityLevel(unit,"B000")==0. В качестве идентификатора деффа не обязательно использовать дебафф торнадо, можно просто любую переменную + эфффект над головой.
Можно сделать на любом патче даже на гуи.
Требуется система отлова урона для контроля триггерных пассивок, для начала рекомендую почитать стати
Я сейчас по тихому делаю систему боя и героев под нее. У каждого героя 7 способностей и при прокачке скила открываются еще скилы, которые увеличат мощь данного скила, добавят баф/дебаф, изменит манакост, перезарядку и особая прокачка которая сильно улучшает 1 сторону способности за счет снижения другой
К примеру: способность получает +100% к силе аттаки но нее действует параметр уклонения.
Критический шанс удара спелом повышен, но сила крита снижена и т.д
Есть функция проверки кол-ва ловкости героя, при этом можно посмотреть сколько ловкости от характеристик и сколько от предметов, исходя из кол-ва ловкости вручать предметные абилки на атаку.
Самое простое - апгрейды, триггерно повышать уровень улучшения которое будет действовать на героя, увы это не идеальный вариант, но один из самых просты. Так же вручать способности предметов на регенерацию здоровья \ маны.
Напрямую - никак, есть место только под 5 способностей. Делать свою систему прокачки способностей из спеллбука или какие либо еще способы, на подобии рпгшных карт.
Про стража мне известно. Но тут такая пробелма - мой юнит изначально контроллируемый, но в процессе игры он может заюзать скилл, который сделает его на время неуправляемым. Извиняюсь, что забыл дописать это в вопрос сразу.
Пока сам ковырялся нашёл такой способ (работает только для одного типа юнитов):
"Создается юнит и его копия в РО. У копии дается классификация "страж", а в игре с помощью перевоплощения я превращаю исходного юнита в юнита-копию, у которого скрыта карта приказов. Таким образом я могу временно потерять над юнитом контроль (по плану взамен дать ему временный бафф)."
Нашёл решение в этой статье - xgm.guru/p/wc3/powerups
В любом случае - спасибо всем отписавшимся!
стремиться создавать объекты не на карте, а в триггерах, сохраняя ссылки на нужные из них;
там, где в гуи открываются окна со списком из РО, использовать джасс и вводить равкод, а там, где список расставленных на карте юнитов, использовать переменные;
в РО с полями, где указаны объекты, работать через Shift+Enter и вводить равкод, чтобы не открывать список.
Просто предметы перестают быть триггерно скрытыми после загрузки сохранения. Надо делать либо по твоему варианту, то есть создавать предмет, либо по варианту ssbbssc, то есть куда-то переносить предметы при инициализации карты, а в нужный момент возвращать на старые позиции.
Ещё при загрузке слетает цвет воды и освещение, если они нестандартные. Нужно задавать их в триггере с событием Игра загружена.
Если цвет воде можно задать в GUI, то для освещения потребуется Custom Script. Вот тут мне помогли нестандартное освещение опять задать:
Ещё сложность в дополнительных кампаниях сбрасывается после каждой главы, но вроде бы ты не пользуешься уровнями сложности. Сбрасывается, когда нажимаешь Продолжить, а если выходишь на экран кампании с кнопками глав, то всё нормально.
По идее с событием Игра загружена можно и с предметами аналогично поступать, скрывая их, если они ещё не активированы. Но потребуется вводить ещё переменные, которые будут указывать видимость или невидимость у предмета.
VectoRK2, открываешь карту SkibiCastle, ищешь триггер с миниигрой "Охотники за привидениями", там есть нужное тебе действие.
Есть ещё действие Игра - Установить флаг игры.
вероятность 75% поврежден файл (что-то например лагнуло при сохранении прошлом). Если все в игре идеально работает, то только одно объяснение приходит на ум - темные силы.
вероятность 75% поврежден файл (что-то например лагнуло при сохранении прошлом). Если все в игре идеально работает, то только одно объяснение приходит на ум - темные силы.
Ток бекап, видимо синий экран вылетел в момен когда редактор удалил старую карту и начал создавать новую, сохраняя данные в архив - архив битый, т.к не содержит всех данных, которые не были сохранены редактором.
Если используешь JNGP - то папочка backups в помощь, там твои труды за полгода=)
Все предметы изночально принадлежать враждебным, юзайте Custom value предмета, если 0 то предмет еще никто не подобрал, значит его получили убив монстра или купили, значит ставим ему custom value с номером игрока (нумеруйте не с 0, а с 1). Легко и просто, правда?
Координаты предмета в магазине (да и координаты юнитов и улучшений в других зданиях, а также координаты способностей у боевых единиц и порядок расположения зданий в меню постройки) зависят от координат X и Y
Поле приказов имеет размер 4х3, и начиная с левого верхнего слота, координаты иконок по принципу XxY:
0х0 | 1x0 | 2x0 | 3x0
0х1 | 1x1 | 2x1 | 3x1
0х2 | 1x2 | 2x2 | 3x2
Возьмем в пример посох телепортации из лавки гоблина
Его координаты 3х1 в редакторе объектов
Если тайлсеты остаются стандартными, даже если ты обработал их через было blplab, то проблемы в путях или в формате.
Я сталкивался с подобной проблемой когда импортировал тайлсеты в дополнительную кампанию. Затем попробовал импортировать ещё раз, только в карту кампании - и лишь тогда сработало
Не нужен он, именно он сейчас и поставил тебя в тупик, когда ты делаешь, большую карту, и у тебя что-то вдруг перестаёт работать, ты не понимаешь из-за чего это, ты начинаешь проверять всё и искать проблему, но ведь ты не знаешь будет ли 100% работать код который получается из преобразования c/vjass. Именно поэтому я отказался от его использования, чего и тебе советую.
Art35372, Brutal_bbk, извините, просто информации мало. Откуда можно знать в чем проблема, если не показываете карты, пускай кто-нибудь другой здешний посмотрит и проверит карту. Мб это у вас что-то. Либо скрины триггеров, или код, но лучше карту.
конкретно у парня выше обычный редактор, а пытается запустить карты с cJass. я ему пытался объяснить, видимо не дошло
В общем, на карте стоял юнит, на которого я ссылался через триггеры, чтоб сменить скин героя(вроде новая штука), которого ещё нет изначально на карте, и после его удаления (юнит который стоял изначально), карта спокойно начала работать, не знаю как это связано.
RunXM, 1 раза достаточно
перезайти имеется в виду не в карту а в редактор
т.е. сохранил карту
закрыл редактор
открыл редактор
открыл карту
ничего не меняя сразу жмёшь Extension>Edit Tileset
Если тайлсеты остаются стандартными, даже если ты обработал их через было blplab, то проблемы в путях или в формате.
Я сталкивался с подобной проблемой когда импортировал тайлсеты в дополнительную кампанию. Затем попробовал импортировать ещё раз, только в карту кампании - и лишь тогда сработало
Я решил проблему, используя обработчики событий BlzTriggerRegisterPlayerKeyEvent и EVENT_PLAYER_MOUSE_DOWN
При нажатии правой кнопки мыши проверяется наличие живого героя и селекция юнитов, если в ней нет юнитов которыми игрок может управлять (или вообще никто не выбран) то юнит моментально отправляется приказом "move" в точку, на которую кликнул игрок и сразу выбирается.
При нажатии клавиши герой просто выбирается.
Причина: причин было много, а я искал лишь одну
Самыми распространёнными оказались элементарные ошибки в коде, отсутствие параметров, параметры не того типа данных (привет динамическая типизация) или лишние параметры, из за чего происходили "рандомные рассинхроны при обрыве потока"
Огромное спасибо пользователю prog, что откликнулся и смог найти ошибки, а нашёл он их при помощи языкового сервера sumneko lua для VScode
Поэтому хочу поинтересоваться: тестил ли кто-нибудь кампании/карты предназначенные для 1.26 на более поздних версиях?
Если карта не юзает какие-нибудь баги и при этом качественно сделана, то всё работает.
Какие могут быть баги или проблемы? Или вообще ничего старое там не запуститься?
У каждой карты индивидуально.
Кроме того, есть ли смысл сразу работать на более поздних версиях, какие у них преимущества и недостатки по сравнению с 1.26?
Ну смотри. Сейчас есть 2 версии, на которых сидят: 1.26 и рефорджд. Кастомных кампаний в рефорджд нет. Потому в твоём случае остаётся только 1.26.
Можно, конечно, делать что-то на 1.28-1.31, но на этих версиях никого нет, в 1.26 они не запустятся, только в рефорждж. Но если запускать что-то на рефе, то и стоит делать на рефе, там фич больше.
Тут сможет помочь только "мемхак", который выполнит загрузку необходимых файлов и по свей сути выполнит работу трояна. В остальном автоматически без хостбота этого сделать нельзя.
похоже более всего на мусор, попадающий в память откуда-то извне. Обычно пропущенная строка автокаста такой фигней страдает. Нельзя точно сказать, нужно менять поля и смотреть. К счастью, описания можно менять и локально, не перепаковывая карту
» WarCraft 3 / Нужна модель!
» WarCraft 3 / Сломалась карта
» WarCraft 3 / Как сделать выбор рассы?
» WarCraft 3 / Проверка карты
» WarCraft 3 / Пассивка
» WarCraft 3 / Создание пассивки
» WarCraft 3 / Способность у древах
» WarCraft 3 / Уменьшение здания?
» Администрация XGM / Фильтр ресурсов
» WarCraft 3 / Локалки в циклах
» WarCraft 3 / Функция возвращает 0?
» WarCraft 3 / Вылетает при атаке
» WarCraft 3 / Сплеш
» WarCraft 3 / Не стандартные уровни героев
» WarCraft 3 / В карте скрыты триггеры
» WarCraft 3 / Невозможно открыть файл основной карты
» WarCraft 3 / Проблема с магазином
» WarCraft 3 / Кастомные тайлсеты
» WarCraft 3 / Карта перестала проверяться
» Администрация XGM / Как отредактировать свой ресурс?
» WarCraft 3 / Проблема с тайлсетами
» WarCraft 3 / Сравнение версий карт
» WarCraft 3 / Обновление данных
» WarCraft 3 / Поиск карты